<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>文章列表</title>
    <link rel="stylesheet" href="./libs/bootstrap/css/bootstrap.min.css">
    <link rel="stylesheet" href="css/reset.css">
    <link rel="stylesheet" href="css/iconfont.css">
    <link rel="stylesheet" href="css/main.css">
    <!-- jq -->
    <script src="./libs/jquery-1.12.4.min.js"></script>
    <!-- 模板引擎 -->
    <script src="./libs/template-web.js"></script>
    <!-- 导入日期插件 -->
    <script src="./libs/jedate/js/jedate.js"></script>
    <link rel="stylesheet" href="./libs/jedate/css/jeDate-test.css">
    <link rel="stylesheet" href="./libs/jedate/css/jedate.css">
    <!-- 导入富文本插件 -->
    <script src="./libs/wangEditor/wangEditor.min.js"></script>
</head>

<body>
    <div class="container-fluid">
        <div class="common_title">
            文章发表
        </div>
        <div class="container-fluid common_con">
            <form class="form-horizontal article_form" id="form">
                <div class="form-group">
                    <label for="inputTitle" class="col-sm-2 control-label">文章标题：</label>
                    <div class="col-sm-10">
                        <input type="text" name="title" class="form-control title" id="inputTitle" value="文章标题文字">
                    </div>
                </div>
                <div class="form-group">
                    <label for="inputCover" class="col-sm-2 control-label">文章封面：</label>
                    <div class="col-sm-10">
                        <img src="images/pic06.jpg" class="article_cover">
                        <input name="cover" type="file" id="inputCover">
                    </div>
                </div>
                <div class="form-group">
                    <label for="inputCategory" class="col-sm-2 control-label">文章类别：</label>
                    <div class="col-sm-4">
                        <select class="form-control category" name="categoryId">
                            <option>类别一</option>
                            <option>类别二</option>
                            <option>类别三</option>
                            <option selected>类别四</option>
                            <option>类别五</option>
                        </select>
                    </div>
                </div>
                <div class="form-group">
                    <label class="col-sm-2 control-label">发布时间：</label>
                    <div class="col-sm-4">
                        <!-- 日期插件的容器 -->
                        <div class="jeinpbox">
                            <input type="text" class="jeinput" id="testico" placeholder="YYYY-MM-DD" name="date">
                            <div class="icons jebtns"></div>
                        </div>
                    </div>
                </div>
                <div class="form-group">
                    <label for="inputEmail3" class="col-sm-2 control-label">文章内容：</label>
                    <div class="col-sm-10">
                        <!-- 富文本插件容器 -->
                        <div id="wang">
                            <p>欢迎使用 <b>旺</b> 富文本编辑器</p>
                        </div>
                    </div>
                </div>
                <div class="form-group">
                    <div class="col-sm-offset-2 col-sm-10">
                        <button type="submit" class="btn btn-success btn-release">发布</button>
                        <button type="submit" class="btn btn-default btn-draft">存为草稿</button>
                    </div>
                </div>
            </form>
        </div>
    </div>
</body>

</html>

<script src="./libs/https.js"></script>
<script type="text/html" id="tpl-category">
    {{each}}
    <option value="{{$value.id}}">{{$value.name}}</option>
    {{/each}}
</script>
<script>
    $(function () {

        // 1.监听上传按钮
        $('#inputCover').on('change', function () {
            //2.将图片转换为路径，将路径赋值img
            $('.col-sm-10 img').attr('src', URL.createObjectURL(this.files[0]))
        })

        //3.获取文章类型 发起ajax()
        $.ajax({
            type: 'get',
            url: BigNew.category_list,
            success: function (backData) {
                // console.log(backData)
                if (backData.code == 200) {
                    //4.获取文章类型数据
                    let data = backData.data;
                    // 5.将获取的数据渲染到页面
                    $('.category').html(template('tpl-category', data))

                }
            }
        })

        // 6.给日期添加点击事件
        $('.jebtns').on('click', function () {
            // 7.调用日期插件核心方法
            //  核心方法（配置）：jeDate(elem, options) --  (元素,对象)
            jeDate(
                '#testico', 
                {
                    trigger: false,
                    format: 'YYYY-MM-DD',
                    // 富文本层级为20000，为了防止两者重叠，将日期层级高于富文本
                    zIndex: 20001
                })
            
        })
        // 8. 启用富文本插件

        const E = window.wangEditor;
        const editor = new E('#wang');
        editor.create();

        // 9.给发布与草稿按钮添加点击事件
        $('.form-group button').on('click', function (e) {
            // 10.阻止button的默认行为
            e.preventDefault();
            // 11.判断当前元素的内容
            if ($(this).text() == '发布') {
                // 调用saveData()函数    // state: 已发布
                saveData("已发布")
            } else {
                //  调用saveData()函数  // state: 为空、草稿
                saveData("草稿")
            }

        })

        // 12 封装函数,发起请求,保存文章数据
        function saveData(state) {
            //13.获取发布文章内所有数据 利用FormData方法，前提input有name属性
            // 自动获取的数据: title cover date categoryId
            let fd = new FormData(document.querySelector('form'));
            // 14.content和state使用FormData方法获取不到所以 将content与state手动保存到fd中
            fd.append('content', editor.txt.html()) //将富文本中的内容保存到fd中
            fd.append('state', state); //将传入的参数（已发布或草稿）保存到fd中
            // console.log(fd.get('title'));
            // console.log(fd.get('cover'));
            // console.log(fd.get('categoryId'));
            // console.log(fd.get('date'));
            // console.log(fd.get('content'));
            // console.log(fd.get('state'));
            // 15.发起请求
            $.ajax({
                type: 'post',
                url: BigNew.article_publish,
                data: fd,
                contentType: false,
                processData: false,
                success: function(backData) {
                    console.log(backData);
                    if (backData.code == 200) {
                        alert(backData.msg);
                        // 16. 跳转到文章列表页面
                        window.location = './article_list.html';
                    }
                },
             

            })


        }


    })
</script>